package com.woyowodaows.utils;

import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.woyowodaows.R;


/**
 * Created by Administrator on 2017/6/26.
 */

public class ToastUtil {

    private static Toast mToast;

    /**
     * 短时间显示文本
     *
     * @param context
     * @param text
     */
    public static void show_short(Context context, String text) {
        if (mToast == null) {
            mToast = Toast.makeText(context.getApplicationContext(), text, Toast.LENGTH_SHORT);
        } else {
            //如果当前Toast没有消失， 直接显示内容，不需要重新设置
            mToast.setText(text);
        }
        mToast.show();
    }

    /**
     * 长时间显示文本
     *
     * @param context
     * @param text
     */
    public static void show_long(Context context, String text) {
        if (mToast == null) {
            mToast = Toast.makeText(context.getApplicationContext(), text, Toast.LENGTH_LONG);
        } else {
            //如果当前Toast没有消失， 直接显示内容，不需要重新设置
            mToast.setText(text);
        }
        mToast.show();
    }

    /**
     * 自定义显示时间
     *
     * @param context
     * @param text
     * @param duration
     */
    public static void show(Context context, String text, int duration) {
        if (mToast == null) {
            mToast = Toast.makeText(context.getApplicationContext(), text, duration);
        } else {
            //如果当前Toast没有消失， 直接显示内容，不需要重新设置
            mToast.setText(text);
        }
        mToast.show();
    }


    private static TextView tv_message;
    private static View toastRoot;
    public static Toast toastStart;
    private static ImageView iv_photo;
    private static LinearLayout ll_photo;


    /**
     * 普通提示信息
     *
     * @param context
     * @param resId
     */
    public static void show(Context context, int resId) {
        showMessage(context, context.getResources().getText(resId) + "");
    }


    public static void show(Context context, String text) {
        showMessage(context, text + "");
    }


    /**
     * 普通提示信息
     *
     * @param context
     * @param text
     */
    private static void showMessage(Context context, String text) {
        initToast(context, text);
        ll_photo.setVisibility(View.GONE);
    }


    /**
     * 操作成功提示
     *
     * @param context
     * @param text
     */
    public static void showSuccess(Context context, String text) {
        show(context,text);
//        initToast(context, text);
//        setImage(context, R.drawable.icon_success);
    }

    /**
     * 操作失败提示
     *
     * @param context
     * @param text
     */
    public static void showError(Context context, String text) {
        show(context,text);
//        initToast(context, text);
//        setImage(context, R.drawable.icon_error);
    }

    /**
     * 网络异常提示
     *
     * @param context
     * @param text
     */
    public static void showWarning(Context context, String text) {
        show(context,text);
//        initToast(context, text);
//        setImage(context, R.drawable.icon_warning);
    }

    /**
     * 设置image
     *
     * @param context
     * @param resId
     */
    private static void setImage(Context context, int resId) {
        ll_photo.setVisibility(View.VISIBLE);
        iv_photo.setImageDrawable(context.getResources().getDrawable(resId));
    }


    /**
     * 初始化toast
     *
     * @param context
     * @param text
     */
    private static void initToast(Context context, String text) {
        if (toastRoot == null || iv_photo == null) {
            //加载Toast布局
            toastRoot = LayoutInflater.from(context).inflate(R.layout.layout_toasts, null);
            ll_photo = (LinearLayout) toastRoot.findViewById(R.id.ll_photo);
            iv_photo = (ImageView) toastRoot.findViewById(R.id.iv_photo);
            //初始化布局控件
            tv_message = (TextView) toastRoot.findViewById(R.id.tv_message);
            //为控件设置属性
            //Toast的初始化
            toastStart = new Toast(context);
            toastStart.setGravity(Gravity.CENTER, 0, 0);
            toastStart.setDuration(Toast.LENGTH_SHORT);
            toastStart.setView(toastRoot);
        }
        if (!"失效的token".equals(text)) {
            tv_message.setText(text);
            toastStart.show();
        }
    }
}
